'''
Created on 24-08-2013

@author: Camilo
'''


class FileRead():
    def __init__(self):
        self.Archivo=None;
        #self.informacionMagnetometro;#Para la primera linea de cada archivo
        self.ejex=[]; #array de numeros eje x
        self.ejey=[]; #array de numeros eje y
        self.ejez=[]; #array de numeros eje z
        
        #promedios en datos leidos.
        self.promedioEje=[];
        

    def openArchivo(self,rutaArchivo,ventana):
        self.ventana=ventana;
        try:
            self.Archivo=open(rutaArchivo,"r");
            print "ruta archivo abierto: "+rutaArchivo
        except:
            print("No es posible abrir el archivo")
    
    def readFile(self):
        cantLineas=0;
        while 1 :
        #while 1 and cantLineas < 10000:
            datos=[]
            line = self.Archivo.readline()       # read line by line
            if not line or line==None:
                print("Alcanzado el fin de archivo") 
                break
            
            cantLineas+=1;
            if cantLineas>1:
                fecha=line[0:14]
                ejex=line[14:24]
                ejey=line[25:34]
                ejez=line[35:44]
                datos.append(fecha)
                datos.append(ejex)
                datos.append(ejey)
                datos.append(ejez)
                
                try:
                    self.ejex.append(float(datos[1]));
                except:
                    print("error lectura linea ejeX: ",cantLineas)
                    print("error linea: ",datos[1])
                    break;
                try:
                    self.ejey.append(float(datos[2]));
                except:
                    print("error lectura linea ejeY: ",cantLineas)
                    print("error linea: ",datos[2])
                    break;
                try:
                    self.ejez.append(float(datos[3]));
                except:
                    print("error lectura linea ejeZ: ",cantLineas)
                    print("error % linea: ",datos[3])
                    break;
                                
        
    def closeArchivo(self):
        self.Archivo.close();

"""
LArchivo = FileRead();
LArchivo.openArchivo();
LArchivo.readFile(5);
print LArchivo.ejex
print LArchivo.ejey
print LArchivo.ejez
LArchivo.closeArchivo();"""
